-
Notifications
You must be signed in to change notification settings - Fork 390
Lift asap7 cell use restriction #3168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lift asap7 cell use restriction #3168
Conversation
50d9c70 to
2f74547
Compare
35b3294 to
edde02e
Compare
|
Just as a note, fractional cells (and sometimes even X1 cells) are often marked as dont_use because they are often not good for process variation and reliability, especially in advanced nodes. ASAP7+OR likely doesn't have the sophistication necessary to model and measure this behavior. I believe these cells were indeed previously excluded primarily because they created pin access problems. But I suppose it raises the question of should they be reinstated because it improves QoR on this non-fabricable process, or continue to be excluded to keep it more representative of real 7nm processes. |
@rovinski that's interesting. I also see on ASAP7 that some gate functions are available as a fractional cell only, e.g. |
|
Users can choose to exclude cells as they wish but as a test for OR I think it best to include all cells if possible. We can't assume that no users will want to use small cells on manufacturable processes. |
|
Lots of rules conflicts to resolve. I think most pending updates have gone in if you want to try again. |
Forbidding the fractional cells harms QoR. The tool seems able to handle these cells just fine so we can lift the restriction. Signed-off-by: Martin Povišer <[email protected]>
After the don't use change the mapping to standard cells is denser. For
the area coming out of synthesis we have
Chip area for module '\cva6': 14649.248080
of which used for sequential elements: 3027.420360 (20.67%)
vs previously
Chip area for module '\cva6': 17152.298740
of which used for sequential elements: 3027.420360 (17.65%)
At the same time RD placement struggles with the new netlist. We can
lower the placement density to work around and still fit into the
original die size.
Signed-off-by: Martin Povišer <[email protected]>
9826a87 to
ed1558c
Compare
|
We're now getting
in repair_timing or on placement TD iterations. I assume it's related to this recent STA change: parallaxsw/OpenSTA@f3b7853 |
|
I believe @mikeinouye observed the same. Do you know what cell it happens on? |
|
Reported upstream |
|
Fixed upstream and merged to OR. Please update the OR submodule and try again. |
|
Phew, that was quick |
Signed-off-by: Martin Povišer <[email protected]>
Signed-off-by: Martin Povišer <[email protected]>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Signed-off-by: Martin Povišer <[email protected]>
|
Superseded by #3544 |
Forbidding the fractional cells harms QoR. The tool seems able to handle these cells just fine so we can lift the restriction.
[ci:rules-tighten]
[ci:rules-failing]
CI Could not Update Rules
[ERROR] asap7/aes-block: No metrics found, please check the latest CI build for issues.
Updated Rules
designs/asap7/aes/rules-base.json updates:
designs/asap7/aes-block/rules-base.json updates:
designs/asap7/aes-mbff/rules-base.json updates:
designs/asap7/aes_lvt/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac_lvt/rules-base.json updates:
designs/asap7/gcd/rules-base.json updates:
designs/asap7/gcd-ccs/rules-base.json updates:
designs/asap7/ibex/rules-base.json updates:
designs/asap7/jpeg/rules-base.json updates:
designs/asap7/jpeg_lvt/rules-base.json updates:
designs/asap7/mock-alu/rules-base.json updates:
designs/asap7/mock-array/rules-base.json updates:
designs/asap7/riscv32i/rules-base.json updates:
designs/asap7/riscv32i-mock-sram/rules-base.json updates:
designs/asap7/uart/rules-base.json updates:
designs/gf180/aes/rules-base.json updates:
designs/gf180/aes-hybrid/rules-base.json updates:
designs/gf180/ibex/rules-base.json updates:
designs/gf180/jpeg/rules-base.json updates:
designs/gf180/riscv32i/rules-base.json updates:
designs/ihp-sg13g2/aes/rules-base.json updates:
designs/ihp-sg13g2/gcd/rules-base.json updates:
designs/ihp-sg13g2/i2c-gpio-expander/rules-base.json updates:
designs/ihp-sg13g2/ibex/rules-base.json updates:
designs/ihp-sg13g2/jpeg/rules-base.json updates:
designs/ihp-sg13g2/riscv32i/rules-base.json updates:
designs/ihp-sg13g2/spi/rules-base.json updates:
designs/nangate45/aes/rules-base.json updates:
designs/nangate45/ariane133/rules-base.json updates:
designs/nangate45/bp_be_top/rules-base.json updates:
designs/nangate45/bp_multi_top/rules-base.json updates:
designs/nangate45/dynamic_node/rules-base.json updates:
designs/nangate45/gcd/rules-base.json updates:
designs/nangate45/ibex/rules-base.json updates:
designs/nangate45/jpeg/rules-base.json updates:
designs/nangate45/swerv/rules-base.json updates:
designs/nangate45/swerv_wrapper/rules-base.json updates:
designs/nangate45/tinyRocket/rules-base.json updates:
designs/sky130hd/chameleon/rules-base.json updates:
designs/sky130hd/gcd/rules-base.json updates:
designs/sky130hd/ibex/rules-base.json updates:
designs/sky130hd/jpeg/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: ext_clk: 15.0000.
designs/sky130hd/microwatt/rules-base.json updates:
designs/sky130hs/aes/rules-base.json updates:
designs/sky130hs/ibex/rules-base.json updates:
Messages from CI
[INFO] asap7/cva6 not included in CI.
[INFO] asap7/minimal not included in CI.
[INFO] asap7/mock-cpu set to not run for this PR.
[INFO] asap7/swerv_wrapper set to not run for this PR.
[INFO] gf12 not included in the update.
[INFO] gf55 not included in the update.
[INFO] nangate45/ariane136 set to not run for this PR.
[INFO] nangate45/black_parrot set to not run for this PR.
[INFO] nangate45/bp_quad not included in CI.
[INFO] nangate45/mempool_group not included in CI.
[INFO] src not included in the update.
CI Could not Update Rules
[ERROR] asap7/aes-block: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/aes-mbff: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/aes: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/aes_lvt: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/ethmac: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/ethmac_lvt: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/gcd-ccs: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/gcd: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/ibex: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/jpeg: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/jpeg_lvt: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/mock-alu: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/riscv32i-mock-sram: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/riscv32i: No metrics found, please check the latest CI build for issues.
[ERROR] asap7/uart: No metrics found, please check the latest CI build for issues.
Updated Rules
designs/asap7/aes/rules-base.json updates:
designs/asap7/aes-block/rules-base.json updates:
designs/asap7/aes-mbff/rules-base.json updates:
designs/asap7/aes_lvt/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/ethmac_lvt/rules-base.json updates:
designs/asap7/gcd/rules-base.json updates:
designs/asap7/gcd-ccs/rules-base.json updates:
designs/asap7/ibex/rules-base.json updates:
designs/asap7/jpeg/rules-base.json updates:
designs/asap7/jpeg_lvt/rules-base.json updates:
designs/asap7/mock-alu/rules-base.json updates:
designs/asap7/mock-array/rules-base.json updates:
designs/asap7/riscv32i/rules-base.json updates:
designs/asap7/riscv32i-mock-sram/rules-base.json updates:
designs/asap7/uart/rules-base.json updates:
designs/gf180/aes/rules-base.json updates:
designs/gf180/aes-hybrid/rules-base.json updates:
designs/gf180/ibex/rules-base.json updates:
designs/gf180/jpeg/rules-base.json updates:
designs/gf180/riscv32i/rules-base.json updates:
designs/gf180/uart-blocks/rules-base.json updates:
designs/ihp-sg13g2/gcd/rules-base.json updates:
designs/ihp-sg13g2/ibex/rules-base.json updates:
designs/ihp-sg13g2/jpeg/rules-base.json updates:
designs/nangate45/aes/rules-base.json updates:
designs/nangate45/ariane133/rules-base.json updates:
designs/nangate45/bp_be_top/rules-base.json updates:
designs/nangate45/bp_fe_top/rules-base.json updates:
designs/nangate45/bp_multi_top/rules-base.json updates:
designs/nangate45/dynamic_node/rules-base.json updates:
designs/nangate45/gcd/rules-base.json updates:
designs/nangate45/ibex/rules-base.json updates:
designs/nangate45/jpeg/rules-base.json updates:
designs/nangate45/swerv/rules-base.json updates:
designs/nangate45/swerv_wrapper/rules-base.json updates:
designs/nangate45/tinyRocket/rules-base.json updates:
designs/sky130hd/chameleon/rules-base.json updates:
designs/sky130hd/gcd/rules-base.json updates:
designs/sky130hd/ibex/rules-base.json updates:
designs/sky130hd/jpeg/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: ext_clk: 15.0000.
designs/sky130hd/microwatt/rules-base.json updates:
designs/sky130hd/riscv32i/rules-base.json updates:
designs/sky130hs/aes/rules-base.json updates:
designs/sky130hs/gcd/rules-base.json updates:
designs/sky130hs/ibex/rules-base.json updates:
designs/sky130hs/riscv32i/rules-base.json updates:
Messages from CI
[INFO] asap7/cva6 not included in CI.
[INFO] asap7/minimal not included in CI.
[INFO] asap7/mock-cpu set to not run for this PR.
[INFO] asap7/swerv_wrapper set to not run for this PR.
[INFO] gf12 not included in the update.
[INFO] gf55 not included in the update.
[INFO] nangate45/ariane136 set to not run for this PR.
[INFO] nangate45/black_parrot set to not run for this PR.
[INFO] nangate45/bp_quad not included in CI.
[INFO] nangate45/mempool_group not included in CI.
[INFO] rapidus2hp not included in the update.
[INFO] src not included in the update.